package w83a.w83aOperacionesPaso.w83aImpugnaciones;

import java.io.PrintWriter;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONArray;
import org.json.JSONObject;

import w83a.w83aBeans.W83aDocBeanImpug;
import w83a.w83aBeans.W83aImpugnacionBean;
import w83a.w83aUtilidadesComunes.W83aClsConstantes;

import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83aDetallesImpugnacionOutOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		HashMap mapa = (HashMap)contexto.get("w83aMapaImpugnaciones");
		if ("0".equals(mapa.get("pestania")))
		{
			W83aImpugnacionBean impug=(W83aImpugnacionBean)contexto.get("w83aNuevaImpugnacionBean");
			contexto.set("w83aprovincia", impug.getCentroTrabajo().getCodTerritorio());
			contexto.set("w83amunicipio", impug.getCentroTrabajo().getCodMunicipio());
			
			contexto.set("w83aprovinciaImpug", impug.getProvinciaImpug());
			contexto.set("w83amunicipioImpug", impug.getMunicipioImpug());
			
			//W83aUsuarioXLNetsBean usuario= (W83aUsuarioXLNetsBean)contexto.get(W83aClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
			//contexto.set("w83aPerfilUsuario", W83aUtilidadesN38API.elegirAdministradorConsulta(usuario.getPerfilXLNets()));
			//contexto.set("w83aCodTerritUsuario", W83aUtilidadesN38API.elegirProvinciaDelegacion(usuario.getPerfilXLNets()));
			//contexto.set("w83aRegManual", usuario.getRegManual());
			//contexto.set("w83aModelo", usuario.getModelo());
			return mapping.findForward("paginaDetalles");
		}
		else
		{
			JSONObject resultado = new JSONObject ();
			
			if ("1".equals(mapa.get("pestania")))
				{
					String idioma=(String)contexto.get(W83aClsConstantes.CONSTANTE_CONTEXTO_IDIOMA);
					//docs adjuntos
					W83aImpugnacionBean impug=(W83aImpugnacionBean)contexto.get("w83aNuevaImpugnacionBean");
					JSONArray listaDocs=new JSONArray();
					JSONObject docJSON=null;
					W83aDocBeanImpug doc=null;
					for (int i=0;i<impug.getListaDocs().size();i++)
					{
						doc=(W83aDocBeanImpug)impug.getListaDocs().get(i);
						docJSON=new JSONObject();//NOPMD
						docJSON.put("nombreDoc", doc.getNombrePartido());
						docJSON.put("tipoDoc", doc.getDescTipo());
						docJSON.put("idDoc", doc.getId());
						docJSON.put("numRegistro", doc.getNumeroRegistro());
						docJSON.put("fechaRegistro", doc.getFechaRegistro());
						//docJSON.put("codTramite", doc.getCodTramite());
						if(idioma.equals(W83aClsConstantes.CONSTANTE_EUSKARA))
						{
							docJSON.put("deseFase", doc.getDeseFase());
						}else{
							docJSON.put("descFase", doc.getDescFase());
						}
						
						
						//docJSON.put("usuario", doc.getUsuario());
						listaDocs.put(docJSON);

					}
					resultado.put("listaDocs",listaDocs);
					
					resultado.put("resultado", "ok");
					response.setContentType("text/javascript;charset=iso-8859-1");
					response.setHeader("Pragma", "cache");
					response.setHeader("Expires", "0");
					response.setHeader("Cache-Control", "private");
					response.setStatus(HttpServletResponse.SC_OK);
					PrintWriter out = response.getWriter();
					out.print(resultado.toString());
					out.flush();
					
					return null;

				}
				
					/*else
						if ("2".equals(mapa.get("pestania")))
						{
							String idioma=(String)contexto.get(W83aClsConstantes.CONSTANTE_CONTEXTO_IDIOMA);
							
							if ("1".equals(mapa.get("grid")))
							{
								//historial	
								W83aImpugnacionBean impug=(W83aImpugnacionBean)contexto.get("w83aNuevaImpugnacionBean");
								W83aHistorialImpugnacionBean historialImpugBean=new W83aHistorialImpugnacionBean();
								historialImpugBean = (W83aHistorialImpugnacionBean)W83aUtilidadesComunes.inicializarPaginador(request, historialImpugBean);
								int num_paginas = (impug.getListaHistorial().size()/Integer.parseInt(historialImpugBean.getTotal()));
								
								
								if(impug.getListaHistorial().size()%Integer.parseInt(historialImpugBean.getTotal())>0){
									num_paginas++;
								}
								
								historialImpugBean.setRows(String.valueOf(num_paginas));
							
								
								List listaVariables = new ArrayList();
								
								listaVariables.add("dia_actuacion");
								listaVariables.add("hora_actuacion");
								if(idioma.equals(W83aClsConstantes.CONSTANTE_EUSKARA))
								{
									listaVariables.add("descripcionE");
								}else{
									listaVariables.add("descripcionC");
								}
								
								listaVariables.add("usuario");
								
								
								String varClave = "dia_actuacion";
								
								
								String jJson = W83aUtilidadesComunes.procesarTablaConId(impug.getListaHistorial(),listaVariables,varClave,W83aHistorialImpugnacionBean.class, historialImpugBean);
								
								response.setContentType("text/javascript;charset=iso-8859-1");
								response.setHeader("Pragma", "cache");
								response.setHeader("Expires", "0");
								response.setHeader("Cache-Control", "private");
								response.setStatus(HttpServletResponse.SC_OK);
								PrintWriter out = response.getWriter();
								out.print(jJson);
								out.flush();

							}else
							{
								//tramites
								W83aImpugnacionBean impug=(W83aImpugnacionBean)contexto.get("w83aNuevaImpugnacionBean");
								W83aTramiteImpugnacionBean tramiteBean=new W83aTramiteImpugnacionBean();
								tramiteBean = (W83aTramiteImpugnacionBean)W83aUtilidadesComunes.inicializarPaginador(request, tramiteBean);
								int num_paginas = (impug.getListaTramites().size()/Integer.parseInt(tramiteBean.getTotal()));
								
								
								if(impug.getListaTramites().size()%Integer.parseInt(tramiteBean.getTotal())>0){
									num_paginas++;
								}
								tramiteBean.setRows(String.valueOf(num_paginas));
								
								List listaVariables = new ArrayList();
								
								
								if(idioma.equals(W83aClsConstantes.CONSTANTE_EUSKARA))
								{
									listaVariables.add("dese_fase");
									listaVariables.add("dese_tramite");
								}else{
									listaVariables.add("desc_fase");
									listaVariables.add("desc_tramite");
								}
								
								
								listaVariables.add("fecha_tramite");
								listaVariables.add("usuario_alta");
								listaVariables.add("fecha_alta");
								listaVariables.add("usuario_modif");
								listaVariables.add("fecha_modif");

								
								String varClave = "fecha_alta";
								
								
								String jJson = W83aUtilidadesComunes.procesarTablaConId(impug.getListaTramites(),listaVariables,varClave,W83aTramiteImpugnacionBean.class, tramiteBean);
								
								response.setContentType("text/javascript;charset=iso-8859-1");
								response.setHeader("Pragma", "cache");
								response.setHeader("Expires", "0");
								response.setHeader("Cache-Control", "private");
								response.setStatus(HttpServletResponse.SC_OK);
								PrintWriter out = response.getWriter();
								out.print(jJson);
								out.flush();
							}
							
							
						}*/
			return null;
		}
		
	}
}
